#pragma once

#include "calling.h"
#include "primitive.h"
#include "wstr.h"

// see: https://msdn.microsoft.com/zh-cn/windows/desktop/1B2D7D2C-47AF-4389-A6B6-B01B7E915228

typedef WCHAR OLECHAR;
typedef OLECHAR *BSTR;
typedef BSTR *LPBSTR;

BSTR SysAllocString(IN const OLECHAR *psz);
void SysFreeString(IN BSTR pbstr);
UINT SysStringLen(IN BSTR pbstr);

HRESULT SysAddRefString(IN BSTR pbstr);
void SysReleaseString(IN BSTR pbstr);
